1. Technical Field
The present invention relates generally to an improved data processing system and more particularly, to an improved method and system for data manipulation. Still more particularly, the present invention provides an improved method and system for processing interconnectable elements called nodes and logical connections between the elements.
2. Description of the Related Art
The manipulation of data in a data processing system is well known in the prior art. Data may be manipulated in many ways in a modern state of the art data processing system, including: data accessing, data encoding, data exchange, data filing, data linking, data locking, data mapping, data modeling, data recording, data sorting, and data transferring. The large amount of data that are available to the user of a modern state-of-the-art data processing system often becomes overwhelming in magnitude and complexity.
A graphic user interface "GUI" is often employed to manage and manipulate data. Often times the manipulation of data involves logical manipulations in a GUI; the manipulation of data may be accomplished via graphical objects having logical relationships between them to form a logic expression. For example, a logical editor is a type of graphical object editor that is typically employed in a GUI to create or compose logical expressions with graphic objects. Iconic representation of logical elements or blocks, also referred to as "nodes", may be placed on a work space within the logical editor by the user and connected to each other by manipulating a mouse or using keyboard input so that a desired logical function can be expressed by the user and performed by the data processing system.
Typically, nodes are connected in an event/condition/action form. An event may be, for example, the reception of mail or a telephone call. For example, in FIG. 1A, event node 100 becomes active when mail arrives. Event node 100 is connected to condition node 102 by connector 104. Condition node 102 is active if event node becomes active within a selected period of time. In turn, condition node 102 is connected to action node 106 by connector 108. Action node 106 places the mail in a folder if the mail arrives within the selected period of time set by condition node 102. Such an arrangement works well unless a user does not conform to the event/condition/action format. For example, in FIG. 1B, the positions of event node 100 and condition node 102 have been switched. This selection of nodes by a user would not be properly evaluated under a system employing an event/condition/action format. Thus, a user is constrained by the way a system evaluates nodes. Deviation from this format can result in the system being unable to properly evaluate the nodes because event node 100 is designated as the trigger for the system.
Therefore, it would be advantageous to have a method and system for evaluating nodes within a logical editor in which a user is not constrained by a particular format for placing nodes.